// samsting : this file is auto create.

#ifndef ALIYUN_Oms_GetProductDefineResponse_H_
#define ALIYUN_Oms_GetProductDefineResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Oms {

class GetProductDefineResponse : public AcsResponse {
public:
  GetProductDefineResponse();

  class Product {
    friend class GetProductDefineResponse;
  public:

    class Type {
      friend class GetProductDefineResponse;
      friend class Product;
    public:
      const std::vector<Field>& GetFields(void) const;
      const string& GetDataType(void) const;
    private:
      std::vector<Field> Fields_;
      string DataType_;
    }; // Type 

    const std::vector<Type>& GetTypeList(void) const;
    const string& GetProductName(void) const;
  private:
    std::vector<Type> TypeList_;
    string ProductName_;
  }; // Product 

  const std::vector<Product>& GetProductList(void) const;
  const string& GetProductName(void) const;
  const string& GetDataType(void) const;

private:
  std::vector<Product> ProductList_;
  string ProductName_;
  string DataType_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Oms {

#endif // #ifndef ALIYUN_Oms_GetProductDefineResponse_H_

// end of file 
